<!DOCTYPE html>
<html lang="zh-cn">
  <head>
    <meta charset="UTF-8">
    <title>Sucha's Homepage - Rss generator</title>
    <meta name="generator" content="MarkdownProjectCompositor.lua">
    <meta name="author" content="Sucha">
    <meta name="keywords" content="suchang, programming, Linux, Lua">
    <meta name="description" content="Sucha's homepage and blog">
    <link rel="shortcut icon" href="../images/ico.png">
    <link rel="stylesheet" type="text/css" href="../styles/site.css">
    <link rel="stylesheet" type="text/css" href="../styles/prism.min.css">
    <style id="site_theme"></style>
  </head>
  <body>
    <div id="body">
      <div id="text">
	<!-- Page published by cmark-gfm begins here --><h1>Sucha's Homepage ~ Rss generator</h1>
<h2>Rss generator</h2>
<p>最近更新: 2013-12-25</p>
<p><strong>本页目录</strong></p>
<dl class="contents"><dt class="contents"><a href="#sec-1">下载试用</a></dt><dt class="contents"><a href="#sec-2">使用方法</a></dt><dd><dl class="contents"><dt class="contents"><a href="#sec-3">anchor</a></dt><dt class="contents"><a href="#sec-4">sub title</a></dt><dt class="contents"><a href="#sec-5"><'!'-- date: %s --></a></dt></dl></dd><dt class="contents"><a href="#sec-6">它是如何工作的?</a></dt><dt class="contents"><a href="#sec-7">其它的生成工具</a></dt></dl>
<p><a id="sec-1"></a></p>
<h3>下载试用</h3>
<p><a href="https://github.com/lalawue/shell_script_stuff">https://github.com/lalawue/shell_script_stuff</a> <br></p>
<p>bash 版本信息：GNU bash, version 2.05b.0(1)-release (i486-slackware-linux-gnu)</p>
<p>emacs-wiki: 2.69<br>
emacs-wiki-journal: latest</p>
<p><a id="sec-2"></a></p>
<h3>使用方法</h3>
<p>generator 从 emacs-wiki-journal 文本文档产生 rss feeds 需要一些条件:
<a id="sec-3"></a></p>
<h4>anchor</h4>
<p>这个很重要，所有的 rss item 信息的定位都要依靠 #anchor。所以请提供足够的 anchor 前缀，比如 &quot;#categorymisc&quot;，只需去掉最后 的数字即可。
<a id="sec-4"></a></p>
<h4>sub title</h4>
<p>二级标题，也就是 emacs-wiki-journal 默认的标题，item 的 title 是从这里搜集得到的。
<a id="sec-5"></a></p>
<h4>&lt;'!'-- date: %s --&gt;</h4>
<p>item 的 date 信息是从这里搜集的，所以格式要像上面那样，至少它应该存在，而且前 12 个字符相同。因为我是暴力分解的……(因为是 html 的原因，实际的格式是 &quot;&lt;叹号-- date: %s --&gt;&quot;)</p>
<p>如果你的一切设置是默认的，那么应该没有问题。具体的设置 shell script 里有，不需要填什么东西，不再累赘。如果还有什么问题，也可以联系我 <a class="nonexistent" href="mailto:suchaaa@gmail.com">EmailMe</a>。</p>
<p><a id="sec-6"></a></p>
<h3>它是如何工作的?</h3>
<ol>
<li>
<p>按这个顺序扫描 emacs-wiki-journal 文本文件。Journal1，Journal2，...，Journal_maxnum，最后是 Journal，也就是最新的文件。然后依次访问它们(文件名不一定要是 Journal，但它们的前缀必须一样，比如 file1，file2)。如果你觉得这样扫描的文件太多的话，可以让程序只关心 Jouranl 这个文件，具体的做法就是把 scan_entries 的前一部分 for 循环注释掉。</p>
</li>
<li>
<p>按照这个 anchor 前缀的顺序扫描文件，#anchor0， #anchor1，...，最后是文件里的 #anchor_maxnum，依次分解得到的元素为 title，date 和 description，将分解得到的元素传到 rss generator 中，依照 rss feeds 的格式写入 rss 文件。</p>
</li>
<li>
<p>访问下一个文件，直到所有文件都访问完了为止。</p>
</li>
</ol>
<p><a id="sec-7"></a></p>
<h3>其它的生成工具</h3>
<p>分解文件需要文件有统一的格式，如果是用 emacs-wiki 原来的变量来做就简单多了，我这里其实就是暴力分解文件，:D。</p>
<p>所以，如果你的 emacs-wiki 发布形式跟我的不同的话，I have no idea...不过你不必急着用 shell script 来产生你的 rss 文档(暴力分解)，还有别的 .el 文件可以使用，不过我找到的不多，而且最头疼的它是不起作用。</p>
<ul>
<li><a href="http://larve.net/people/hugo/2003/scratchpad/RssForEmacsWiki.html">Rss for Emacs Wiki</a>: 一个法国人写的 .el，03 年的东西了，只支持 emacs-wiki(?)，不支持 projects，一个简单的小程序。</li>
</ul>
<!-- Page published by cmark-gfm ends here -->
      <div id="foot">
	2004-<script>var d = new
	Date();document.write(d.getFullYear())</script> &copy;
	Sucha. Powered by MarkdownProjectCompositor.
      </div><!-- foot -->
      </div><!-- text -->
      <div id="sidebar">
      </div><!-- sidebar -->
      <script src="../js/prism.min.js" async="async"></script>
      <script src="../js/site_sidebar.js"></script>
    </div><!-- body -->
  </body>
</html>